package com.kaili.basic.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
 * @Desc: 设备登记DTO
 * @author: zhouyijian
 * @Time: 2019/7/24 18:53
 * @Copyright: © 2018 杭州凯立通信有限公司 版权所有
 * @Warning: 本内容仅限于公司内部传阅, 禁止外泄或用于其它商业目的
 */
@Data
public class DeviceDTO extends PageDto implements Serializable {

    private static final long serialVersionUID = 5880414015507129350L;

    @NotEmpty(message = "设备imei不能为空")
    @Size(min = 15,message = "设备imei必须至少15位数字")
    @ApiModelProperty("设备imei")
    private String imei;

    @NotEmpty(message = "设备型号不能为空")
    @Size(max = 20,message = "设备型号不能超过20位")
    @ApiModelProperty("型号")
    private String model;

    @ApiModelProperty("设备sn")
    @Size(min = 15,message = "设备sn必须至少15位数字或者字母")
    private String sn;

    @NotEmpty(message = "设备mac不能为空")
    @Size(min = 17,message = "设备mac必须至少17位数字或者字母")
    @ApiModelProperty("设备mac")
    private String mac;

    @ApiModelProperty("机构ID")
    private Integer orgId;

    @ApiModelProperty("平台:1安卓2ios3其他")
    private Integer platformId;

    @ApiModelProperty("工号")
    private Integer userId;

    @ApiModelProperty("分组ID")
    private Integer groupId;

    @ApiModelProperty("系统版本")
    private String version;

    @ApiModelProperty("设备归属Id(单位2个人3其他)")
    private Integer belongId;

    @ApiModelProperty("设备类型id(1手机 2PDA 3PAD 4其他)")
    private Integer typeId;

    @ApiModelProperty("是否绑定机构:0解除绑定1绑定")
    private Integer isOrganization;

    @ApiModelProperty("是否绑定用户:0解除绑定1绑定 ")
    private Integer isUser;

    @ApiModelProperty("启用时间")
    private Date actionTime;

    @ApiModelProperty("设备是否启用:0禁用1启用")
    private String isAction;

    @ApiModelProperty("数据状态:0删除1正常")
    private String rdStatus;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("创建人")
    private Integer createBy;

    @DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间/设备登记时间")
    private Date createTime;

    @ApiModelProperty("修改人")
    private Integer modifyBy;

    @DateTimeFormat(pattern ="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("修改时间")
    private Date modifyTime;

    @ApiModelProperty("设备名称")
    @Size(max = 20,message = "设备名称最大20位")
    private String deviceName;

    @ApiModelProperty("是否是设备注册:0设备登记,1设备注册")
    private Integer isResgister;
}
